package com.tencent.sr.iris.activity.interfaces.request.acticity;

import com.tencent.sr.iris.activity.interfaces.enums.ActivityIdEnum;
import com.tencent.sr.iris.activity.interfaces.enums.ActivityTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author nixiaolin
 * @date 2023/2/16 9:55
 */
@Data
@ApiModel("用户活动参与记录请求参数")
public class FreshActivityRecordRequest {

    @NotNull(message = "活动类型不能为空")
    @ApiModelProperty("活动类型 MONTH_GIFT：月月领 REGIST_GIFT：注册有礼 INVITE_GIFT：邀请有礼 " +
            "LEVEL_UP_FOSTER_GIFT：升级有礼(培育奖) LEVEL_UP_PROMO_GIFT：升级有礼(晋升奖)")
    private ActivityTypeEnum activityType;

    @NotNull(message = "活动id不能为空")
    @ApiModelProperty("活动类型对应的活动id，一个活动类型可对应多个活动id：\n" +
            "  月月领活动id：MONTH_GIFT；\n" +
            "  邀请有礼活动id：INVITE_GIFT：普通邀请有礼，SPECIAL_INVITE_REWARD：特邀邀请有礼；\n" +
            "  注册有礼活动id：REGIST_GIFT\n" +
            "  升级有礼(培育奖)活动id：LEVEL_UP_FOSTER_GIFT\n" +
            "  升级有礼(晋升奖)活动id：LEVEL_UP_PROMO_GIFT\n")
    private ActivityIdEnum activityId;

    @ApiModelProperty("下级uid")
    private List<String> uidList;

    @ApiModelProperty("开始时间")
    private Long startTime;

    @ApiModelProperty("结束时间")
    private Long endTime;

    @ApiModelProperty("搜索开始值")
    private String searchAfter;

    @ApiModelProperty("搜索开始值")
    private String searchAfterTaskRecordId;

    @ApiModelProperty("shardingId")
    private Integer shardingId;

    @ApiModelProperty("更新时间")
    private Long updateTime;
}
